Some computer systems have the ability to host several virtual computer systems. When a computer system acts as a host system for multiple virtual systems, resources (e.g., processor, memory, disk space, etc.) of the host system have to be allocated to each virtual system.
Allocation of a resource to a virtual system typically involves assigning a fraction of the resource on the host system to the virtual system. Since assignment of resources needs to be repeated for each virtual system hosted by the host system and for each resource of the host system, the allocation process can be time consuming.
In addition, the host system's resources must be allocated in such a way as to ensure that the sum total of all assigned fractions for a particular resource does not exceed an amount of the particular resource that is available, e.g., the total amount of the particular resource minus any fraction the host system needs to operate. Hence, the allocation process can also be susceptible to errors in data entry, which can lead to misallocation of resources.
Consequently, there is a need to provide a mechanism that allows resources to be allocated in a much more efficient manner and reduce the chances of resource misallocation.